package com.warmup.main;
import com.warmup.model.student;
import java.util.Scanner;

import static java.lang.System.*;

public class StudentManager {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(in);
        try {

            // 1. 定义一个可以存放3个学生的数组
            student[] students = new student[3];

            out.println("""
                    --- 请输入3名学生的信息 ---""");

            // 2. TODO: 使用 for 循环，从控制台接收用户输入，创建3个Student对象并存入数组
            for (int i = 0; i < students.length; i++) {
                out.println("请输入第 " + (i + 1) + " 名学生的信息:");
                out.print("学号: ");
                String id = scanner.nextLine();

                out.print("姓名: ");
                String name = scanner.nextLine();

                out.print("年龄: ");
                int age = scanner.nextInt();
                scanner.nextLine(); // 消费掉换行符

                // 使用输入的信息创建一个新的Student对象，并放入数组
                students[i] = new student(id, name, age);
            }

            out.println("\n--- 所有学生信息如下 ---");
            // 3. TODO: 使用 for-each 循环遍历数组，打印出每个学生的信息
            //    (这里会隐式调用你重写的 toString() 方法)
            for (student student : students) {
                out.println(student);
            }


            // 4. (选做) 验证 equals 和 hashCode
            out.println("\n--- equals 和 hashCode 验证 ---");
            student s1 = new student("2024001", "张三", 20);
            student s2 = new student("2024001", "张小三", 21); // 学号相同，但其他信息不同
            out.println("s1.equals(s2) 的结果应该是 true: " + s1.equals(s2));
            out.println("s1.hashCode() == s2.hashCode() 的结果应该是 true: " + (s1.hashCode() == s2.hashCode()));
            scanner.close();
        } finally {
            scanner.close();
        }
    }
}
